opt subtitle "HI-TECH Software Omniscient Code Generator (Lite mode) build 7503"

opt pagewidth 120

	opt lm

	processor	16LF1827
clrc	macro
	bcf	3,0
	endm
clrz	macro
	bcf	3,2
	endm
setc	macro
	bsf	3,0
	endm
setz	macro
	bsf	3,2
	endm
skipc	macro
	btfss	3,0
	endm
skipz	macro
	btfss	3,2
	endm
skipnc	macro
	btfsc	3,0
	endm
skipnz	macro
	btfsc	3,2
	endm
indf	equ	0
indf0	equ	0
indf1	equ	1
pc	equ	2
pcl	equ	2
status	equ	3
fsr0l	equ	4
fsr0h	equ	5
fsr1l	equ	6
fsr1h	equ	7
bsr	equ	8
wreg	equ	9
intcon	equ	11
c	equ	1
z	equ	0
pclath	equ	10
# 6 "D:\SVN\Pruebav1.1\seccionador\pruebaint\main.c"
	psect config,class=CONFIG,delta=2 ;#
# 6 "D:\SVN\Pruebav1.1\seccionador\pruebaint\main.c"
	dw 0xFFE7 & 0xFFFF & 0xFFFF & 0xFF7F & 0xFEFF & 0xF9FF & 0xFFFF & 0xEFFF & 0xDFFF & 0xFFFC & 0xFFFF & 0xFEFF & 0xFDFF & 0xDFFF ;#
	FNCALL	_main,_Inicializacion
	FNCALL	_main,_GestionADC
	FNCALL	_GestionADC,_ADC
	FNCALL	_GestionADC,_ValorAbsoluto
	FNCALL	_GestionADC,_GainConversion
	FNCALL	_GestionADC,_Valor4
	FNCALL	_GestionADC,_SelectGain
	FNCALL	_SelectGain,_SetGain
	FNCALL	_Inicializacion,_Init_Config
	FNCALL	_Inicializacion,_Init_IO
	FNCALL	_Inicializacion,_Init_FVR
	FNCALL	_Inicializacion,_Init_ADC
	FNCALL	_Inicializacion,_DAC
	FNCALL	_Inicializacion,_Init_SPI
	FNCALL	_Inicializacion,_SelectIntensidad
	FNCALL	_Inicializacion,_SelectReenganches
	FNCALL	_Inicializacion,_SetEstado
	FNCALL	_SetGain,_spi_out
	FNROOT	_main
	global	_j_seg
	global	_p_seg
	global	_Table
psect	idataBANK0,class=CODE,space=0,delta=2
global __pidataBANK0
__pidataBANK0:
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
	line	6

;initializer for _j_seg
	retlw	01h
	retlw	0


;initializer for _p_seg
	retlw	01h
	retlw	0

psect	idataBANK2,class=CODE,space=0,delta=2
global __pidataBANK2
__pidataBANK2:
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\main.c"
	line	18

;initializer for _Table
	retlw	08h
	retlw	0

	retlw	015h
	retlw	0

	retlw	022h
	retlw	0

	retlw	02Fh
	retlw	0

	retlw	03Ch
	retlw	0

	retlw	049h
	retlw	0

	retlw	056h
	retlw	0

	retlw	063h
	retlw	0

	retlw	070h
	retlw	0

	retlw	07Dh
	retlw	0

	retlw	08Ah
	retlw	0

	retlw	096h
	retlw	0

	retlw	0A3h
	retlw	0

	retlw	0B0h
	retlw	0

	retlw	0BDh
	retlw	0

	retlw	0C8h
	retlw	0

	retlw	010h
	retlw	0

	retlw	010h
	retlw	0

	retlw	010h
	retlw	0

	retlw	010h
	retlw	0

	retlw	04h
	retlw	0

	retlw	04h
	retlw	0

	retlw	04h
	retlw	0

	retlw	04h
	retlw	0

	retlw	02h
	retlw	0

	retlw	02h
	retlw	0

	retlw	02h
	retlw	0

	retlw	02h
	retlw	0

	retlw	01h
	retlw	0

	retlw	01h
	retlw	0

	retlw	01h
	retlw	0

	retlw	01h
	retlw	0

	global	_t
	global	_ADCValue
	global	_ganancia
	global	_i
	global	_j
	global	_milisegundo
	global	_msabrir
	global	_prx_ganancia
	global	_reenganches
	global	_segundo
	global	_zeros
	global	_s
	global	_MaxGanancia
psect	nvBANK0,class=BANK0,space=1
global __pnvBANK0
__pnvBANK0:
_MaxGanancia:
       ds      2

	global	_MaxIntensidad
_MaxIntensidad:
       ds      2

	global	_MaxReenganches
_MaxReenganches:
       ds      2

	global	_estado
_estado:
       ds      2

	global	_PIR4bits
_PIR4bits	set	20
	global	_GIE
_GIE	set	95
	global	_RA3
_RA3	set	99
	global	_RA4
_RA4	set	100
	global	_RB0
_RB0	set	104
	global	_RB1
_RB1	set	105
	global	_RB2
_RB2	set	106
	global	_RB3
_RB3	set	107
	global	_ADRES
_ADRES	set	155
	global	_ADCON0bits
_ADCON0bits	set	157
	global	_ADCON1bits
_ADCON1bits	set	158
	global	_OSCCONbits
_OSCCONbits	set	153
	global	_PIE4bits
_PIE4bits	set	148
	global	_TRISA
_TRISA	set	140
	global	_TRISB
_TRISB	set	141
	global	_WDTCONbits
_WDTCONbits	set	151
	global	_ADGO
_ADGO	set	1257
	global	_ADON
_ADON	set	1256
	global	_DACCON0bits
_DACCON0bits	set	280
	global	_DACCON1bits
_DACCON1bits	set	281
	global	_FVRCONbits
_FVRCONbits	set	279
	global	_LATA7
_LATA7	set	2151
	global	_LATB4
_LATB4	set	2156
	global	_ANSELB
_ANSELB	set	397
	global	_ANSA3
_ANSA3	set	3171
	global	_ANSA4
_ANSA4	set	3172
	global	_SSP2BUF
_SSP2BUF	set	537
	global	_SSP2CON1bits
_SSP2CON1bits	set	541
	global	_SSP2STATbits
_SSP2STATbits	set	540
	file	"Pruebav1.0.as"
	line	#
psect cinit,class=CODE,delta=2
global start_initialization
start_initialization:

psect	bssBANK0,class=BANK0,space=1
global __pbssBANK0
__pbssBANK0:
_t:
       ds      8

_ADCValue:
       ds      2

_ganancia:
       ds      2

_i:
       ds      2

_j:
       ds      2

_milisegundo:
       ds      2

_msabrir:
       ds      2

_prx_ganancia:
       ds      2

_reenganches:
       ds      2

_segundo:
       ds      2

_zeros:
       ds      2

psect	dataBANK0,class=BANK0,space=1
global __pdataBANK0
__pdataBANK0:
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
	line	6
_j_seg:
       ds      2

psect	dataBANK0
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
_p_seg:
       ds      2

psect	bssBANK1,class=BANK1,space=1
global __pbssBANK1
__pbssBANK1:
_s:
       ds      40

psect	dataBANK2,class=BANK2,space=1
global __pdataBANK2
__pdataBANK2:
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\main.c"
	line	18
_Table:
       ds      64

psect clrtext,class=CODE,delta=2
global clear_ram
;	Called with FSR0 containing the base address, and
;	WREG with the size to clear
clear_ram:
	clrwdt			;clear the watchdog before getting into this loop
clrloop:
	clrf	indf0		;clear RAM location pointed to by FSR
	addfsr	0,1
	decfsz wreg		;Have we reached the end of clearing yet?
	goto clrloop	;have we reached the end yet?
	retlw	0		;all done for this memory range, return
; Clear objects allocated to BANK0
psect cinit,class=CODE,delta=2
	global __pbssBANK0
	movlw	low(__pbssBANK0)
	movwf	fsr0l
	movlw	high(__pbssBANK0)
	movwf	fsr0h
	movlw	01Ch
	fcall	clear_ram
; Clear objects allocated to BANK1
psect cinit,class=CODE,delta=2
	global __pbssBANK1
	movlw	low(__pbssBANK1)
	movwf	fsr0l
	movlw	high(__pbssBANK1)
	movwf	fsr0h
	movlw	028h
	fcall	clear_ram
psect inittext,class=CODE,delta=2
global init_ram,btemp
init_ram:
	movwf btemp,f
initloop:
	moviw fsr0++
	movwi fsr1++
	decfsz btemp
	goto initloop
	retlw 0
; Initialize objects allocated to BANK0
	global __pidataBANK0,__pdataBANK0
psect cinit,class=CODE,delta=2
	movlw low(__pidataBANK0)
	movwf fsr0l
	movlw high(__pidataBANK0)|80h
	movwf fsr0h
	movlw low(__pdataBANK0)
	movwf fsr1l
	movlw high(__pdataBANK0)
	movwf fsr1h
	movlw 04h
	fcall init_ram
; Initialize objects allocated to BANK2
	global __pidataBANK2,__pdataBANK2
psect cinit,class=CODE,delta=2
	movlw low(__pidataBANK2)
	movwf fsr0l
	movlw high(__pidataBANK2)|80h
	movwf fsr0h
	movlw low(__pdataBANK2)
	movwf fsr1l
	movlw high(__pdataBANK2)
	movwf fsr1h
	movlw 040h
	fcall init_ram
psect cinit,class=CODE,delta=2
global end_of_initialization

;End of C runtime variable initialization code

end_of_initialization:
movlb 0
ljmp _main	;jump to C main() function
psect	cstackCOMMON,class=COMMON,space=1
global __pcstackCOMMON
__pcstackCOMMON:
	global	?_Inicializacion
?_Inicializacion:	; 0 bytes @ 0x0
	global	?_Init_SPI
?_Init_SPI:	; 0 bytes @ 0x0
	global	?_SetEstado
?_SetEstado:	; 0 bytes @ 0x0
	global	?_Init_ADC
?_Init_ADC:	; 0 bytes @ 0x0
	global	??_Init_ADC
??_Init_ADC:	; 0 bytes @ 0x0
	global	?_Init_Config
?_Init_Config:	; 0 bytes @ 0x0
	global	??_Init_Config
??_Init_Config:	; 0 bytes @ 0x0
	global	?_Init_IO
?_Init_IO:	; 0 bytes @ 0x0
	global	??_Init_IO
??_Init_IO:	; 0 bytes @ 0x0
	global	?_Init_FVR
?_Init_FVR:	; 0 bytes @ 0x0
	global	??_Init_FVR
??_Init_FVR:	; 0 bytes @ 0x0
	global	?_DAC
?_DAC:	; 0 bytes @ 0x0
	global	??_DAC
??_DAC:	; 0 bytes @ 0x0
	global	?_main
?_main:	; 0 bytes @ 0x0
	global	?_ADC
?_ADC:	; 2 bytes @ 0x0
	global	?_ValorAbsoluto
?_ValorAbsoluto:	; 2 bytes @ 0x0
	global	?_GainConversion
?_GainConversion:	; 2 bytes @ 0x0
	global	?_Valor4
?_Valor4:	; 2 bytes @ 0x0
	global	?_SelectIntensidad
?_SelectIntensidad:	; 2 bytes @ 0x0
	global	?_SelectReenganches
?_SelectReenganches:	; 2 bytes @ 0x0
	global	?_spi_out
?_spi_out:	; 2 bytes @ 0x0
	global	ValorAbsoluto@valorADC
ValorAbsoluto@valorADC:	; 2 bytes @ 0x0
	global	GainConversion@a
GainConversion@a:	; 2 bytes @ 0x0
	global	Valor4@result
Valor4@result:	; 2 bytes @ 0x0
	global	SetEstado@num
SetEstado@num:	; 2 bytes @ 0x0
	global	Init_SPI@cke
Init_SPI@cke:	; 2 bytes @ 0x0
	global	spi_out@send
spi_out@send:	; 2 bytes @ 0x0
	ds	2
	global	?_SetGain
?_SetGain:	; 0 bytes @ 0x2
	global	??_SetEstado
??_SetEstado:	; 0 bytes @ 0x2
	global	??_ADC
??_ADC:	; 0 bytes @ 0x2
	global	??_ValorAbsoluto
??_ValorAbsoluto:	; 0 bytes @ 0x2
	global	??_Valor4
??_Valor4:	; 0 bytes @ 0x2
	global	??_SelectIntensidad
??_SelectIntensidad:	; 0 bytes @ 0x2
	global	??_SelectReenganches
??_SelectReenganches:	; 0 bytes @ 0x2
	global	??_spi_out
??_spi_out:	; 0 bytes @ 0x2
	global	ADC@result
ADC@result:	; 2 bytes @ 0x2
	global	GainConversion@ganancia
GainConversion@ganancia:	; 2 bytes @ 0x2
	global	Init_SPI@ckp
Init_SPI@ckp:	; 2 bytes @ 0x2
	global	SetGain@gain
SetGain@gain:	; 2 bytes @ 0x2
	ds	2
	global	??_SetGain
??_SetGain:	; 0 bytes @ 0x4
	global	??_Init_SPI
??_Init_SPI:	; 0 bytes @ 0x4
	global	??_GainConversion
??_GainConversion:	; 0 bytes @ 0x4
	global	?_SelectGain
?_SelectGain:	; 2 bytes @ 0x4
	global	Valor4@suma
Valor4@suma:	; 2 bytes @ 0x4
	global	SelectGain@result
SelectGain@result:	; 2 bytes @ 0x4
	global	SelectReenganches@a0
SelectReenganches@a0:	; 2 bytes @ 0x4
	ds	2
	global	Valor4@i
Valor4@i:	; 2 bytes @ 0x6
	global	SelectGain@ganancia
SelectGain@ganancia:	; 2 bytes @ 0x6
	global	SelectReenganches@a1
SelectReenganches@a1:	; 2 bytes @ 0x6
	ds	2
	global	SelectGain@MaxGanancia
SelectGain@MaxGanancia:	; 2 bytes @ 0x8
	global	SelectReenganches@posicion
SelectReenganches@posicion:	; 2 bytes @ 0x8
	ds	2
	global	??_Inicializacion
??_Inicializacion:	; 0 bytes @ 0xA
	global	??_SelectGain
??_SelectGain:	; 0 bytes @ 0xA
	global	SelectGain@prx_ganancia
SelectGain@prx_ganancia:	; 2 bytes @ 0xA
	ds	2
	global	?_GestionADC
?_GestionADC:	; 2 bytes @ 0xC
	ds	2
	global	??_GestionADC
??_GestionADC:	; 0 bytes @ 0xE
	global	??_main
??_main:	; 0 bytes @ 0xE
psect	cstackBANK0,class=BANK0,space=1
global __pcstackBANK0
__pcstackBANK0:
	global	SelectIntensidad@b0
SelectIntensidad@b0:	; 2 bytes @ 0x0
	global	GestionADC@ADCResult
GestionADC@ADCResult:	; 2 bytes @ 0x0
	ds	2
	global	SelectIntensidad@b1
SelectIntensidad@b1:	; 2 bytes @ 0x2
	global	GestionADC@ADCAbsoluto
GestionADC@ADCAbsoluto:	; 2 bytes @ 0x2
	ds	2
	global	SelectIntensidad@b2
SelectIntensidad@b2:	; 2 bytes @ 0x4
	global	GestionADC@ADCGain
GestionADC@ADCGain:	; 2 bytes @ 0x4
	ds	2
	global	SelectIntensidad@b3
SelectIntensidad@b3:	; 2 bytes @ 0x6
	ds	2
	global	SelectIntensidad@posicion
SelectIntensidad@posicion:	; 2 bytes @ 0x8
	ds	2
	global	main@resultado
main@resultado:	; 2 bytes @ 0xA
	ds	2
;;Data sizes: Strings 0, constant 0, data 68, bss 68, persistent 8 stack 0
;;Auto spaces:   Size  Autos    Used
;; COMMON          14     14      14
;; BANK0           80     12      52
;; BANK1           80      0      40
;; BANK2           80      0      64
;; BANK3           80      0       0
;; BANK4           48      0       0

;;
;; Pointer list with targets:

;; ?_spi_out	int  size(1) Largest target is 0
;;
;; ?_GestionADC	int  size(1) Largest target is 0
;;
;; ?_SelectReenganches	int  size(1) Largest target is 0
;;
;; ?_SelectIntensidad	int  size(1) Largest target is 0
;;
;; ?_SelectGain	int  size(1) Largest target is 0
;;
;; ?_Valor4	int  size(1) Largest target is 0
;;
;; ?_GainConversion	int  size(1) Largest target is 0
;;
;; ?_ValorAbsoluto	int  size(1) Largest target is 0
;;
;; ?_ADC	int  size(1) Largest target is 0
;;


;;
;; Critical Paths under _main in COMMON
;;
;;   _main->_GestionADC
;;   _GestionADC->_SelectGain
;;   _SelectGain->_SetGain
;;   _Inicializacion->_SelectReenganches
;;   _SetGain->_spi_out
;;
;; Critical Paths under _main in BANK0
;;
;;   _Inicializacion->_SelectIntensidad
;;
;; Critical Paths under _main in BANK1
;;
;;   None.
;;
;; Critical Paths under _main in BANK2
;;
;;   None.
;;
;; Critical Paths under _main in BANK3
;;
;;   None.
;;
;; Critical Paths under _main in BANK4
;;
;;   None.

;;
;;Main: autosize = 0, tempsize = 0, incstack = 0, save=0
;;

;;
;;Call Graph Tables:
;;
;; ---------------------------------------------------------------------------------
;; (Depth) Function   	        Calls       Base Space   Used Autos Params    Refs
;; ---------------------------------------------------------------------------------
;; (0) _main                                                 2     2      0    1063
;;                                             10 BANK0      2     2      0
;;                     _Inicializacion
;;                         _GestionADC
;; ---------------------------------------------------------------------------------
;; (1) _GestionADC                                          10     8      2     810
;;                                             12 COMMON     2     0      2
;;                                              0 BANK0      6     6      0
;;                                _ADC
;;                      _ValorAbsoluto
;;                     _GainConversion
;;                             _Valor4
;;                         _SelectGain
;; ---------------------------------------------------------------------------------
;; (2) _SelectGain                                           8     2      6     244
;;                                              4 COMMON     8     2      6
;;                            _SetGain
;; ---------------------------------------------------------------------------------
;; (1) _Inicializacion                                       0     0      0     252
;;                        _Init_Config
;;                            _Init_IO
;;                           _Init_FVR
;;                           _Init_ADC
;;                                _DAC
;;                           _Init_SPI
;;                   _SelectIntensidad
;;                  _SelectReenganches
;;                          _SetEstado
;; ---------------------------------------------------------------------------------
;; (3) _SetGain                                              2     0      2      44
;;                                              2 COMMON     2     0      2
;;                            _spi_out
;; ---------------------------------------------------------------------------------
;; (4) _spi_out                                              2     0      2      22
;;                                              0 COMMON     2     0      2
;; ---------------------------------------------------------------------------------
;; (2) _SetEstado                                            2     0      2      22
;;                                              0 COMMON     2     0      2
;; ---------------------------------------------------------------------------------
;; (2) _Init_SPI                                             5     1      4      44
;;                                              0 COMMON     5     1      4
;; ---------------------------------------------------------------------------------
;; (2) _DAC                                                  0     0      0       0
;; ---------------------------------------------------------------------------------
;; (2) _SelectReenganches                                   10     8      2      70
;;                                              0 COMMON    10     8      2
;; ---------------------------------------------------------------------------------
;; (2) _SelectIntensidad                                    16    14      2     116
;;                                              0 COMMON     6     4      2
;;                                              0 BANK0     10    10      0
;; ---------------------------------------------------------------------------------
;; (2) _Init_FVR                                             0     0      0       0
;; ---------------------------------------------------------------------------------
;; (2) _Init_IO                                              0     0      0       0
;; ---------------------------------------------------------------------------------
;; (2) _Init_Config                                          0     0      0       0
;; ---------------------------------------------------------------------------------
;; (2) _Valor4                                               8     6      2     138
;;                                              0 COMMON     8     6      2
;; ---------------------------------------------------------------------------------
;; (2) _GainConversion                                       6     2      4     247
;;                                              0 COMMON     6     2      4
;; ---------------------------------------------------------------------------------
;; (2) _ValorAbsoluto                                        4     2      2      67
;;                                              0 COMMON     4     2      2
;; ---------------------------------------------------------------------------------
;; (2) _ADC                                                  4     2      2      23
;;                                              0 COMMON     4     2      2
;; ---------------------------------------------------------------------------------
;; (2) _Init_ADC                                             0     0      0       0
;; ---------------------------------------------------------------------------------
;; Estimated maximum stack depth 4
;; ---------------------------------------------------------------------------------

;; Call Graph Graphs:

;; _main (ROOT)
;;   _Inicializacion
;;     _Init_Config
;;     _Init_IO
;;     _Init_FVR
;;     _Init_ADC
;;     _DAC
;;     _Init_SPI
;;     _SelectIntensidad
;;     _SelectReenganches
;;     _SetEstado
;;   _GestionADC
;;     _ADC
;;     _ValorAbsoluto
;;     _GainConversion
;;     _Valor4
;;     _SelectGain
;;       _SetGain
;;         _spi_out
;;

;; Address spaces:

;;Name               Size   Autos  Total    Cost      Usage
;;BIGRAM             170      0       0       0        0.0%
;;EEDATA             100      0       0       0        0.0%
;;NULL                 0      0       0       0        0.0%
;;CODE                 0      0       0       0        0.0%
;;BITCOMMON            E      0       0       1        0.0%
;;BITSFR0              0      0       0       1        0.0%
;;SFR0                 0      0       0       1        0.0%
;;COMMON               E      E       E       2      100.0%
;;BITSFR1              0      0       0       2        0.0%
;;SFR1                 0      0       0       2        0.0%
;;BITSFR2              0      0       0       3        0.0%
;;SFR2                 0      0       0       3        0.0%
;;STACK                0      0       4       3        0.0%
;;BITSFR3              0      0       0       4        0.0%
;;SFR3                 0      0       0       4        0.0%
;;ABS                  0      0      AA       4        0.0%
;;BITBANK0            50      0       0       5        0.0%
;;BITSFR4              0      0       0       5        0.0%
;;SFR4                 0      0       0       5        0.0%
;;BANK0               50      C      34       6       65.0%
;;BITSFR5              0      0       0       6        0.0%
;;SFR5                 0      0       0       6        0.0%
;;BITBANK1            50      0       0       7        0.0%
;;BITSFR6              0      0       0       7        0.0%
;;SFR6                 0      0       0       7        0.0%
;;BANK1               50      0      28       8       50.0%
;;BITSFR7              0      0       0       8        0.0%
;;SFR7                 0      0       0       8        0.0%
;;BITBANK2            50      0       0       9        0.0%
;;BITSFR8              0      0       0       9        0.0%
;;SFR8                 0      0       0       9        0.0%
;;BANK2               50      0      40      10       80.0%
;;BITSFR9              0      0       0      10        0.0%
;;SFR9                 0      0       0      10        0.0%
;;BITBANK3            50      0       0      11        0.0%
;;BITSFR10             0      0       0      11        0.0%
;;SFR10                0      0       0      11        0.0%
;;BANK3               50      0       0      12        0.0%
;;BITSFR11             0      0       0      12        0.0%
;;SFR11                0      0       0      12        0.0%
;;BITBANK4            30      0       0      13        0.0%
;;BITSFR12             0      0       0      13        0.0%
;;SFR12                0      0       0      13        0.0%
;;BANK4               30      0       0      14        0.0%
;;BITSFR13             0      0       0      14        0.0%
;;SFR13                0      0       0      14        0.0%
;;BITSFR14             0      0       0      15        0.0%
;;SFR14                0      0       0      15        0.0%
;;DATA                 0      0      AE      15        0.0%
;;BITSFR15             0      0       0      16        0.0%
;;SFR15                0      0       0      16        0.0%
;;BITSFR16             0      0       0      17        0.0%
;;SFR16                0      0       0      17        0.0%
;;BITSFR17             0      0       0      18        0.0%
;;SFR17                0      0       0      18        0.0%
;;BITSFR18             0      0       0      19        0.0%
;;SFR18                0      0       0      19        0.0%
;;BITSFR19             0      0       0      20        0.0%
;;SFR19                0      0       0      20        0.0%
;;BITSFR20             0      0       0      21        0.0%
;;SFR20                0      0       0      21        0.0%
;;BITSFR21             0      0       0      22        0.0%
;;SFR21                0      0       0      22        0.0%
;;BITSFR22             0      0       0      23        0.0%
;;SFR22                0      0       0      23        0.0%
;;BITSFR23             0      0       0      24        0.0%
;;SFR23                0      0       0      24        0.0%
;;BITSFR24             0      0       0      25        0.0%
;;SFR24                0      0       0      25        0.0%
;;BITSFR25             0      0       0      26        0.0%
;;SFR25                0      0       0      26        0.0%
;;BITSFR26             0      0       0      27        0.0%
;;SFR26                0      0       0      27        0.0%
;;BITSFR27             0      0       0      28        0.0%
;;SFR27                0      0       0      28        0.0%
;;BITSFR28             0      0       0      29        0.0%
;;SFR28                0      0       0      29        0.0%
;;BITSFR29             0      0       0      30        0.0%
;;SFR29                0      0       0      30        0.0%
;;BITSFR30             0      0       0      31        0.0%
;;SFR30                0      0       0      31        0.0%
;;BITSFR31             0      0       0      32        0.0%
;;SFR31                0      0       0      32        0.0%

	global	_main
psect	maintext,global,class=CODE,delta=2
global __pmaintext
__pmaintext:

;; *************** function _main *****************
;; Defined at:
;;		line 23 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\main.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;  resultado       2   10[BANK0 ] int 
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, btemp+1, pclath, cstack
;; Tracked objects:
;;		On entry : 17F/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         0       0       0       0       0       0
;;      Locals:         0       2       0       0       0       0
;;      Temps:          0       0       0       0       0       0
;;      Totals:         0       2       0       0       0       0
;;Total ram usage:        2 bytes
;; Hardware stack levels required when called:    4
;; This function calls:
;;		_Inicializacion
;;		_GestionADC
;; This function is called by:
;;		Startup code after reset
;; This function uses a non-reentrant model
;;
psect	maintext
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\main.c"
	line	23
	global	__size_of_main
	__size_of_main	equ	__end_of_main-_main
	
_main:	
	opt	stack 12
; Regs used in _main: [allreg]
	line	26
	
l7663:	
;main.c: 24: int resultado;
;main.c: 26: Inicializacion();
	fcall	_Inicializacion
	goto	l7665
	line	28
;main.c: 28: while(1){
	
l4426:	
	line	29
	
l7665:	
;main.c: 29: resultado = GestionADC();
	fcall	_GestionADC
	movf	(1+(?_GestionADC)),w
	movlb 0	; select bank0
	clrf	(main@resultado+1)
	addwf	(main@resultado+1)
	movf	(0+(?_GestionADC)),w
	clrf	(main@resultado)
	addwf	(main@resultado)

	goto	l7665
	line	33
	
l4427:	
	line	28
	goto	l7665
	
l4428:	
	line	34
	
l4429:	
	global	start
	ljmp	start
	opt stack 0
GLOBAL	__end_of_main
	__end_of_main:
;; =============== function _main ends ============

	signat	_main,88
	global	_GestionADC
psect	text453,local,class=CODE,delta=2
global __ptext453
__ptext453:

;; *************** function _GestionADC *****************
;; Defined at:
;;		line 57 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\main.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;  ADCGain         2    4[BANK0 ] int 
;;  ADCAbsoluto     2    2[BANK0 ] int 
;;  ADCResult       2    0[BANK0 ] int 
;;  ADCMedio        2    0        int 
;; Return value:  Size  Location     Type
;;                  2   12[COMMON] int 
;; Registers used:
;;		wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, btemp+1, pclath, cstack
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         2       0       0       0       0       0
;;      Locals:         0       6       0       0       0       0
;;      Temps:          0       0       0       0       0       0
;;      Totals:         2       6       0       0       0       0
;;Total ram usage:        8 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    3
;; This function calls:
;;		_ADC
;;		_ValorAbsoluto
;;		_GainConversion
;;		_Valor4
;;		_SelectGain
;; This function is called by:
;;		_main
;; This function uses a non-reentrant model
;;
psect	text453
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\main.c"
	line	57
	global	__size_of_GestionADC
	__size_of_GestionADC	equ	__end_of_GestionADC-_GestionADC
	
_GestionADC:	
	opt	stack 12
; Regs used in _GestionADC: [allreg]
	line	61
	
l7647:	
;main.c: 59: int ADCResult, ADCGain, ADCAbsoluto, ADCMedio;
;main.c: 61: ganancia = prx_ganancia;
	movlb 0	; select bank0
	movf	(_prx_ganancia+1),w
	clrf	(_ganancia+1)
	addwf	(_ganancia+1)
	movf	(_prx_ganancia),w
	clrf	(_ganancia)
	addwf	(_ganancia)

	line	63
	
l7649:	
;main.c: 63: ADCValue = ADC();
	fcall	_ADC
	movf	(1+(?_ADC)),w
	movlb 0	; select bank0
	clrf	(_ADCValue+1)
	addwf	(_ADCValue+1)
	movf	(0+(?_ADC)),w
	clrf	(_ADCValue)
	addwf	(_ADCValue)

	line	64
	
l7651:	
;main.c: 64: ADCAbsoluto = ValorAbsoluto (ADCValue);
	movf	(_ADCValue+1),w
	clrf	(?_ValorAbsoluto+1)
	addwf	(?_ValorAbsoluto+1)
	movf	(_ADCValue),w
	clrf	(?_ValorAbsoluto)
	addwf	(?_ValorAbsoluto)

	fcall	_ValorAbsoluto
	movf	(1+(?_ValorAbsoluto)),w
	movlb 0	; select bank0
	clrf	(GestionADC@ADCAbsoluto+1)
	addwf	(GestionADC@ADCAbsoluto+1)
	movf	(0+(?_ValorAbsoluto)),w
	clrf	(GestionADC@ADCAbsoluto)
	addwf	(GestionADC@ADCAbsoluto)

	line	65
	
l7653:	
;main.c: 65: ADCGain = GainConversion(ADCAbsoluto, ganancia);
	movf	(GestionADC@ADCAbsoluto+1),w
	clrf	(?_GainConversion+1)
	addwf	(?_GainConversion+1)
	movf	(GestionADC@ADCAbsoluto),w
	clrf	(?_GainConversion)
	addwf	(?_GainConversion)

	movf	(_ganancia+1),w
	clrf	1+(?_GainConversion)+02h
	addwf	1+(?_GainConversion)+02h
	movf	(_ganancia),w
	clrf	0+(?_GainConversion)+02h
	addwf	0+(?_GainConversion)+02h

	fcall	_GainConversion
	movf	(1+(?_GainConversion)),w
	movlb 0	; select bank0
	clrf	(GestionADC@ADCGain+1)
	addwf	(GestionADC@ADCGain+1)
	movf	(0+(?_GainConversion)),w
	clrf	(GestionADC@ADCGain)
	addwf	(GestionADC@ADCGain)

	line	66
	
l7655:	
;main.c: 66: ADCResult = Valor4 (ADCGain);
	movf	(GestionADC@ADCGain+1),w
	clrf	(?_Valor4+1)
	addwf	(?_Valor4+1)
	movf	(GestionADC@ADCGain),w
	clrf	(?_Valor4)
	addwf	(?_Valor4)

	fcall	_Valor4
	movf	(1+(?_Valor4)),w
	movlb 0	; select bank0
	clrf	(GestionADC@ADCResult+1)
	addwf	(GestionADC@ADCResult+1)
	movf	(0+(?_Valor4)),w
	clrf	(GestionADC@ADCResult)
	addwf	(GestionADC@ADCResult)

	line	67
	
l7657:	
;main.c: 67: prx_ganancia = SelectGain (ADCGain, ganancia, MaxGanancia);
	movf	(GestionADC@ADCGain+1),w
	clrf	(?_SelectGain+1)
	addwf	(?_SelectGain+1)
	movf	(GestionADC@ADCGain),w
	clrf	(?_SelectGain)
	addwf	(?_SelectGain)

	movf	(_ganancia+1),w
	clrf	1+(?_SelectGain)+02h
	addwf	1+(?_SelectGain)+02h
	movf	(_ganancia),w
	clrf	0+(?_SelectGain)+02h
	addwf	0+(?_SelectGain)+02h

	movf	(_MaxGanancia+1),w
	clrf	1+(?_SelectGain)+04h
	addwf	1+(?_SelectGain)+04h
	movf	(_MaxGanancia),w
	clrf	0+(?_SelectGain)+04h
	addwf	0+(?_SelectGain)+04h

	fcall	_SelectGain
	movf	(1+(?_SelectGain)),w
	movlb 0	; select bank0
	clrf	(_prx_ganancia+1)
	addwf	(_prx_ganancia+1)
	movf	(0+(?_SelectGain)),w
	clrf	(_prx_ganancia)
	addwf	(_prx_ganancia)

	line	69
	
l7659:	
;main.c: 69: return ADCResult;
	movf	(GestionADC@ADCResult+1),w
	clrf	(?_GestionADC+1)
	addwf	(?_GestionADC+1)
	movf	(GestionADC@ADCResult),w
	clrf	(?_GestionADC)
	addwf	(?_GestionADC)

	goto	l4435
	
l7661:	
	line	70
	
l4435:	
	return
	opt stack 0
GLOBAL	__end_of_GestionADC
	__end_of_GestionADC:
;; =============== function _GestionADC ends ============

	signat	_GestionADC,90
	global	_SelectGain
psect	text454,local,class=CODE,delta=2
global __ptext454
__ptext454:

;; *************** function _SelectGain *****************
;; Defined at:
;;		line 164 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
;; Parameters:    Size  Location     Type
;;  result          2    4[COMMON] int 
;;  ganancia        2    6[COMMON] int 
;;  MaxGanancia     2    8[COMMON] int 
;; Auto vars:     Size  Location     Type
;;  prx_ganancia    2   10[COMMON] int 
;; Return value:  Size  Location     Type
;;                  2    4[COMMON] int 
;; Registers used:
;;		wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         6       0       0       0       0       0
;;      Locals:         2       0       0       0       0       0
;;      Temps:          0       0       0       0       0       0
;;      Totals:         8       0       0       0       0       0
;;Total ram usage:        8 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    2
;; This function calls:
;;		_SetGain
;; This function is called by:
;;		_GestionADC
;; This function uses a non-reentrant model
;;
psect	text454
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
	line	164
	global	__size_of_SelectGain
	__size_of_SelectGain	equ	__end_of_SelectGain-_SelectGain
	
_SelectGain:	
	opt	stack 12
; Regs used in _SelectGain: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack]
	line	167
	
l7621:	
;ADC.c: 165: int prx_ganancia;
;ADC.c: 167: if(result >= 0b0111111111 && result <= 0b1000000001){
	movf	(SelectGain@result+1),w
	xorlw	80h
	movwf	btemp+1
	movlw	(high(01FFh))^80h
	subwf	btemp+1,w
	skipz
	goto	u2795
	movlw	low(01FFh)
	subwf	(SelectGain@result),w
u2795:

	skipc
	goto	u2791
	goto	u2790
u2791:
	goto	l7633
u2790:
	
l7623:	
	movf	(SelectGain@result+1),w
	xorlw	80h
	movwf	btemp+1
	movlw	(high(0202h))^80h
	subwf	btemp+1,w
	skipz
	goto	u2805
	movlw	low(0202h)
	subwf	(SelectGain@result),w
u2805:

	skipnc
	goto	u2801
	goto	u2800
u2801:
	goto	l7633
u2800:
	line	168
	
l7625:	
;ADC.c: 168: zeros++;
	movlw	low(01h)
	movlb 0	; select bank0
	addwf	(_zeros),f
	movlw	high(01h)
	addwfc	(_zeros+1),f
	line	169
;ADC.c: 169: if(zeros == 3 && ganancia == 1){
	movlw	03h
	xorwf	(_zeros),w
	iorwf	(_zeros+1),w
	skipz
	goto	u2811
	goto	u2810
u2811:
	goto	l7635
u2810:
	
l7627:	
	movlw	01h
	xorwf	(SelectGain@ganancia),w
	iorwf	(SelectGain@ganancia+1),w
	skipz
	goto	u2821
	goto	u2820
u2821:
	goto	l7635
u2820:
	line	170
	
l7629:	
;ADC.c: 170: prx_ganancia = MaxGanancia;
	movf	(SelectGain@MaxGanancia+1),w
	clrf	(SelectGain@prx_ganancia+1)
	addwf	(SelectGain@prx_ganancia+1)
	movf	(SelectGain@MaxGanancia),w
	clrf	(SelectGain@prx_ganancia)
	addwf	(SelectGain@prx_ganancia)

	line	171
	
l7631:	
;ADC.c: 171: SetGain(MaxGanancia);
	movf	(SelectGain@MaxGanancia+1),w
	clrf	(?_SetGain+1)
	addwf	(?_SetGain+1)
	movf	(SelectGain@MaxGanancia),w
	clrf	(?_SetGain)
	addwf	(?_SetGain)

	fcall	_SetGain
	goto	l7635
	line	172
	
l1483:	
	line	173
;ADC.c: 172: }
;ADC.c: 173: }else zeros = 0;
	goto	l7635
	
l1482:	
	
l7633:	
	movlb 0	; select bank0
	clrf	(_zeros)
	clrf	(_zeros+1)
	goto	l7635
	
l1484:	
	line	174
	
l7635:	
;ADC.c: 174: if (result >= 0b1111110000 && ganancia == MaxGanancia){
	movf	(SelectGain@result+1),w
	xorlw	80h
	movwf	btemp+1
	movlw	(high(03F0h))^80h
	subwf	btemp+1,w
	skipz
	goto	u2835
	movlw	low(03F0h)
	subwf	(SelectGain@result),w
u2835:

	skipc
	goto	u2831
	goto	u2830
u2831:
	goto	l7643
u2830:
	
l7637:	
	movf	(SelectGain@MaxGanancia+1),w
	xorwf	(SelectGain@ganancia+1),w
	skipz
	goto	u2845
	movf	(SelectGain@MaxGanancia),w
	xorwf	(SelectGain@ganancia),w
u2845:

	skipz
	goto	u2841
	goto	u2840
u2841:
	goto	l7643
u2840:
	line	175
	
l7639:	
;ADC.c: 175: prx_ganancia = 1;
	movlw	low(01h)
	movwf	(SelectGain@prx_ganancia)
	movlw	high(01h)
	movwf	((SelectGain@prx_ganancia))+1
	line	176
	
l7641:	
;ADC.c: 176: SetGain(1);
	movlw	low(01h)
	movwf	(?_SetGain)
	movlw	high(01h)
	movwf	((?_SetGain))+1
	fcall	_SetGain
	goto	l7643
	line	177
	
l1485:	
	line	179
	
l7643:	
;ADC.c: 177: }
;ADC.c: 179: return prx_ganancia;
	movf	(SelectGain@prx_ganancia+1),w
	clrf	(?_SelectGain+1)
	addwf	(?_SelectGain+1)
	movf	(SelectGain@prx_ganancia),w
	clrf	(?_SelectGain)
	addwf	(?_SelectGain)

	goto	l1486
	
l7645:	
	line	181
	
l1486:	
	return
	opt stack 0
GLOBAL	__end_of_SelectGain
	__end_of_SelectGain:
;; =============== function _SelectGain ends ============

	signat	_SelectGain,12410
	global	_Inicializacion
psect	text455,local,class=CODE,delta=2
global __ptext455
__ptext455:

;; *************** function _Inicializacion *****************
;; Defined at:
;;		line 36 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\main.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, fsr1l, fsr1h, status,2, status,0, pclath, cstack
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         0       0       0       0       0       0
;;      Locals:         0       0       0       0       0       0
;;      Temps:          0       0       0       0       0       0
;;      Totals:         0       0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    1
;; This function calls:
;;		_Init_Config
;;		_Init_IO
;;		_Init_FVR
;;		_Init_ADC
;;		_DAC
;;		_Init_SPI
;;		_SelectIntensidad
;;		_SelectReenganches
;;		_SetEstado
;; This function is called by:
;;		_main
;; This function uses a non-reentrant model
;;
psect	text455
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\main.c"
	line	36
	global	__size_of_Inicializacion
	__size_of_Inicializacion	equ	__end_of_Inicializacion-_Inicializacion
	
_Inicializacion:	
	opt	stack 14
; Regs used in _Inicializacion: [wreg+fsr1l-status,0+pclath+cstack]
	line	37
	
l7611:	
;main.c: 37: Init_Config();
	fcall	_Init_Config
	line	38
;main.c: 38: Init_IO();
	fcall	_Init_IO
	line	39
;main.c: 39: Init_FVR();
	fcall	_Init_FVR
	line	40
;main.c: 40: Init_ADC();
	fcall	_Init_ADC
	line	41
;main.c: 41: DAC();
	fcall	_DAC
	line	42
;main.c: 42: Init_SPI(0,0);
	movlw	low(0)
	movwf	(?_Init_SPI)
	movlw	high(0)
	movwf	((?_Init_SPI))+1
	movlw	low(0)
	movwf	0+(?_Init_SPI)+02h
	movlw	high(0)
	movwf	(0+(?_Init_SPI)+02h)+1
	fcall	_Init_SPI
	line	46
	
l7613:	
;main.c: 46: LATB4 = 0;
	movlb 2	; select bank2
	bcf	(2156/8)^0100h,(2156)&7
	line	47
	
l7615:	
;main.c: 47: LATB4 = 1;
	bsf	(2156/8)^0100h,(2156)&7
	line	49
	
l7617:	
;main.c: 49: MaxIntensidad = Table[0][SelectIntensidad()];
	fcall	_SelectIntensidad
	movf	(0+(?_SelectIntensidad)),w
	addwf	wreg,w
	addlw	_Table&0ffh
	movwf	fsr1l
	movlw 1	; select bank2/3
	movwf fsr1h	
	
	moviw	[0]fsr1
	movlb 0	; select bank0
	movwf	(_MaxIntensidad)
	moviw	[1]fsr1
	movwf	(_MaxIntensidad+1)
	line	50
	
l7619:	
;main.c: 50: MaxGanancia = Table[1][SelectIntensidad()];
	fcall	_SelectIntensidad
	movf	(0+(?_SelectIntensidad)),w
	addwf	wreg,w
	addlw	_Table+020h&0ffh
	movwf	fsr1l
	movlw 1	; select bank2/3
	movwf fsr1h	
	
	moviw	[0]fsr1
	movlb 0	; select bank0
	movwf	(_MaxGanancia)
	moviw	[1]fsr1
	movwf	(_MaxGanancia+1)
	line	51
;main.c: 51: MaxReenganches = SelectReenganches();
	fcall	_SelectReenganches
	movf	(1+(?_SelectReenganches)),w
	movlb 0	; select bank0
	clrf	(_MaxReenganches+1)
	addwf	(_MaxReenganches+1)
	movf	(0+(?_SelectReenganches)),w
	clrf	(_MaxReenganches)
	addwf	(_MaxReenganches)

	line	54
;main.c: 54: SetEstado(0);
	movlw	low(0)
	movwf	(?_SetEstado)
	movlw	high(0)
	movwf	((?_SetEstado))+1
	fcall	_SetEstado
	line	55
	
l4432:	
	return
	opt stack 0
GLOBAL	__end_of_Inicializacion
	__end_of_Inicializacion:
;; =============== function _Inicializacion ends ============

	signat	_Inicializacion,88
	global	_SetGain
psect	text456,local,class=CODE,delta=2
global __ptext456
__ptext456:

;; *************** function _SetGain *****************
;; Defined at:
;;		line 68 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\SPI.c"
;; Parameters:    Size  Location     Type
;;  gain            2    2[COMMON] int 
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, fsr0l, fsr0h, status,2, status,0, pclath, cstack
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         2       0       0       0       0       0
;;      Locals:         0       0       0       0       0       0
;;      Temps:          0       0       0       0       0       0
;;      Totals:         2       0       0       0       0       0
;;Total ram usage:        2 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    1
;; This function calls:
;;		_spi_out
;; This function is called by:
;;		_SelectGain
;; This function uses a non-reentrant model
;;
psect	text456
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\SPI.c"
	line	68
	global	__size_of_SetGain
	__size_of_SetGain	equ	__end_of_SetGain-_SetGain
	
_SetGain:	
	opt	stack 12
; Regs used in _SetGain: [wreg-fsr0h+status,2+status,0+pclath+cstack]
	line	70
	
l7583:	
;SPI.c: 70: LATB4 = 0;
	movlb 2	; select bank2
	bcf	(2156/8)^0100h,(2156)&7
	line	71
;SPI.c: 71: switch(gain)
	goto	l7605
	line	73
;SPI.c: 72: {
;SPI.c: 73: case 0:
	
l5880:	
	line	74
	
l7585:	
;SPI.c: 74: spi_out(0b00100000);
	movlw	low(020h)
	movwf	(?_spi_out)
	movlw	high(020h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	75
;SPI.c: 75: spi_out(0x0);
	movlw	low(0)
	movwf	(?_spi_out)
	movlw	high(0)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	76
;SPI.c: 76: break;
	goto	l5881
	line	77
;SPI.c: 77: case 1:
	
l5882:	
	line	78
	
l7587:	
;SPI.c: 78: spi_out(0b01000000);
	movlw	low(040h)
	movwf	(?_spi_out)
	movlw	high(040h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	79
;SPI.c: 79: spi_out(0b00000000);
	movlw	low(0)
	movwf	(?_spi_out)
	movlw	high(0)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	80
;SPI.c: 80: break;
	goto	l5881
	line	81
;SPI.c: 81: case 2:
	
l5883:	
	line	82
	
l7589:	
;SPI.c: 82: spi_out(0b01000000);
	movlw	low(040h)
	movwf	(?_spi_out)
	movlw	high(040h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	83
;SPI.c: 83: spi_out(0b00000001);
	movlw	low(01h)
	movwf	(?_spi_out)
	movlw	high(01h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	84
;SPI.c: 84: break;
	goto	l5881
	line	85
;SPI.c: 85: case 4:
	
l5884:	
	line	86
	
l7591:	
;SPI.c: 86: spi_out(0b01000000);
	movlw	low(040h)
	movwf	(?_spi_out)
	movlw	high(040h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	87
;SPI.c: 87: spi_out(0b00000010);
	movlw	low(02h)
	movwf	(?_spi_out)
	movlw	high(02h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	88
;SPI.c: 88: break;
	goto	l5881
	line	89
;SPI.c: 89: case 5:
	
l5885:	
	line	90
	
l7593:	
;SPI.c: 90: spi_out(0b01000000);
	movlw	low(040h)
	movwf	(?_spi_out)
	movlw	high(040h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	91
;SPI.c: 91: spi_out(0b00000011);
	movlw	low(03h)
	movwf	(?_spi_out)
	movlw	high(03h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	92
;SPI.c: 92: break;
	goto	l5881
	line	93
;SPI.c: 93: case 8:
	
l5886:	
	line	94
	
l7595:	
;SPI.c: 94: spi_out(0b01000000);
	movlw	low(040h)
	movwf	(?_spi_out)
	movlw	high(040h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	95
;SPI.c: 95: spi_out(0b00000100);
	movlw	low(04h)
	movwf	(?_spi_out)
	movlw	high(04h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	96
;SPI.c: 96: break;
	goto	l5881
	line	97
;SPI.c: 97: case 10:
	
l5887:	
	line	98
	
l7597:	
;SPI.c: 98: spi_out(0b01000000);
	movlw	low(040h)
	movwf	(?_spi_out)
	movlw	high(040h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	99
;SPI.c: 99: spi_out(0b00000101);
	movlw	low(05h)
	movwf	(?_spi_out)
	movlw	high(05h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	100
;SPI.c: 100: break;
	goto	l5881
	line	101
;SPI.c: 101: case 16:
	
l5888:	
	line	102
	
l7599:	
;SPI.c: 102: spi_out(0b01000000);
	movlw	low(040h)
	movwf	(?_spi_out)
	movlw	high(040h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	103
;SPI.c: 103: spi_out(0b00000110);
	movlw	low(06h)
	movwf	(?_spi_out)
	movlw	high(06h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	104
;SPI.c: 104: break;
	goto	l5881
	line	105
;SPI.c: 105: case 32:
	
l5889:	
	line	106
	
l7601:	
;SPI.c: 106: spi_out(0b01000000);
	movlw	low(040h)
	movwf	(?_spi_out)
	movlw	high(040h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	107
;SPI.c: 107: spi_out(0b00000111);
	movlw	low(07h)
	movwf	(?_spi_out)
	movlw	high(07h)
	movwf	((?_spi_out))+1
	fcall	_spi_out
	line	108
;SPI.c: 108: break;
	goto	l5881
	line	109
	
l7603:	
;SPI.c: 109: }
	goto	l5881
	line	71
	
l5879:	
	
l7605:	
	; Switch on 2 bytes has been partitioned into a top level switch of size 1, and 1 sub-switches
; Switch size 1, requested type "space"
; Number of cases is 1, Range of values is 0 to 0
; switch strategies available:
; Name         Instructions Cycles
; simple_byte            4     3 (average)
; direct_byte            8     6 (fixed)
; jumptable            260     6 (fixed)
; rangetable             5     4 (fixed)
; spacedrange            7     6 (fixed)
; locatedrange           1     3 (fixed)
;	Chosen strategy is simple_byte

	movf (SetGain@gain+1),w
	opt asmopt_off
	xorlw	0^0	; case 0
	skipnz
	goto	l7687
	goto	l5881
	opt asmopt_on
	
l7687:	
; Switch size 1, requested type "space"
; Number of cases is 9, Range of values is 0 to 32
; switch strategies available:
; Name         Instructions Cycles
; simple_byte           28    15 (average)
; direct_byte           72     6 (fixed)
; jumptable            260     6 (fixed)
; rangetable            37     4 (fixed)
; spacedrange           71     6 (fixed)
; locatedrange          33     3 (fixed)
;	Chosen strategy is simple_byte

	movf (SetGain@gain),w
	opt asmopt_off
	xorlw	0^0	; case 0
	skipnz
	goto	l7585
	xorlw	1^0	; case 1
	skipnz
	goto	l7587
	xorlw	2^1	; case 2
	skipnz
	goto	l7589
	xorlw	4^2	; case 4
	skipnz
	goto	l7591
	xorlw	5^4	; case 5
	skipnz
	goto	l7593
	xorlw	8^5	; case 8
	skipnz
	goto	l7595
	xorlw	10^8	; case 10
	skipnz
	goto	l7597
	xorlw	16^10	; case 16
	skipnz
	goto	l7599
	xorlw	32^16	; case 32
	skipnz
	goto	l7601
	goto	l5881
	opt asmopt_on

	line	109
	
l5881:	
	line	110
;SPI.c: 110: LATB4=1;
	movlb 2	; select bank2
	bsf	(2156/8)^0100h,(2156)&7
	line	111
	
l5890:	
	return
	opt stack 0
GLOBAL	__end_of_SetGain
	__end_of_SetGain:
;; =============== function _SetGain ends ============

	signat	_SetGain,4216
	global	_spi_out
psect	text457,local,class=CODE,delta=2
global __ptext457
__ptext457:

;; *************** function _spi_out *****************
;; Defined at:
;;		line 49 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\SPI.c"
;; Parameters:    Size  Location     Type
;;  send            2    0[COMMON] int 
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;                  2    0[COMMON] int 
;; Registers used:
;;		wreg
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         2       0       0       0       0       0
;;      Locals:         0       0       0       0       0       0
;;      Temps:          0       0       0       0       0       0
;;      Totals:         2       0       0       0       0       0
;;Total ram usage:        2 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_SetGain
;; This function uses a non-reentrant model
;;
psect	text457
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\SPI.c"
	line	49
	global	__size_of_spi_out
	__size_of_spi_out	equ	__end_of_spi_out-_spi_out
	
_spi_out:	
	opt	stack 12
; Regs used in _spi_out: [wreg]
	line	50
	
l7537:	
;SPI.c: 50: SSP2BUF = send;
	movf	(spi_out@send),w
	movlb 4	; select bank4
	movwf	(537)^0200h	;volatile
	line	51
;SPI.c: 51: while(!SSP2STATbits.BF){}
	goto	l5873
	
l5874:	
	
l5873:	
	btfss	(540)^0200h,0	;volatile
	goto	u2681
	goto	u2680
u2681:
	goto	l5873
u2680:
	goto	l7539
	
l5875:	
	line	53
	
l7539:	
;SPI.c: 53: return SSP2BUF;
;	Return value of _spi_out is never used
	movf	(537)^0200h,w	;volatile
	goto	l5876
	
l7541:	
	line	54
	
l5876:	
	return
	opt stack 0
GLOBAL	__end_of_spi_out
	__end_of_spi_out:
;; =============== function _spi_out ends ============

	signat	_spi_out,4218
	global	_SetEstado
psect	text458,local,class=CODE,delta=2
global __ptext458
__ptext458:

;; *************** function _SetEstado *****************
;; Defined at:
;;		line 82 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\main.c"
;; Parameters:    Size  Location     Type
;;  num             2    0[COMMON] int 
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, status,2, status,0
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         2       0       0       0       0       0
;;      Locals:         0       0       0       0       0       0
;;      Temps:          0       0       0       0       0       0
;;      Totals:         2       0       0       0       0       0
;;Total ram usage:        2 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Inicializacion
;; This function uses a non-reentrant model
;;
psect	text458
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\main.c"
	line	82
	global	__size_of_SetEstado
	__size_of_SetEstado	equ	__end_of_SetEstado-_SetEstado
	
_SetEstado:	
	opt	stack 14
; Regs used in _SetEstado: [wreg+status,2+status,0]
	line	83
	
l7527:	
;main.c: 83: estado = num;
	movf	(SetEstado@num+1),w
	movlb 0	; select bank0
	clrf	(_estado+1)
	addwf	(_estado+1)
	movf	(SetEstado@num),w
	clrf	(_estado)
	addwf	(_estado)

	line	84
	
l4441:	
	return
	opt stack 0
GLOBAL	__end_of_SetEstado
	__end_of_SetEstado:
;; =============== function _SetEstado ends ============

	signat	_SetEstado,4216
	global	_Init_SPI
psect	text459,local,class=CODE,delta=2
global __ptext459
__ptext459:

;; *************** function _Init_SPI *****************
;; Defined at:
;;		line 17 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\SPI.c"
;; Parameters:    Size  Location     Type
;;  cke             2    0[COMMON] int 
;;  ckp             2    2[COMMON] int 
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, status,2, status,0
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         4       0       0       0       0       0
;;      Locals:         0       0       0       0       0       0
;;      Temps:          1       0       0       0       0       0
;;      Totals:         5       0       0       0       0       0
;;Total ram usage:        5 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Inicializacion
;; This function uses a non-reentrant model
;;
psect	text459
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\SPI.c"
	line	17
	global	__size_of_Init_SPI
	__size_of_Init_SPI	equ	__end_of_Init_SPI-_Init_SPI
	
_Init_SPI:	
	opt	stack 14
; Regs used in _Init_SPI: [wreg+status,2+status,0]
	line	19
	
l7519:	
;SPI.c: 19: SSP2CON1bits.SSPEN = 0;
	movlb 4	; select bank4
	bcf	(541)^0200h,5	;volatile
	line	21
;SPI.c: 21: PIR4bits.SSP2IF = 0;
	movlb 0	; select bank0
	bcf	(20),0	;volatile
	line	22
;SPI.c: 22: PIR4bits.BCL2IF = 0;
	bcf	(20),1	;volatile
	line	23
;SPI.c: 23: PIE4bits.SSP2IE = 0;
	movlb 1	; select bank1
	bcf	(148)^080h,0	;volatile
	line	24
;SPI.c: 24: PIE4bits.BCL2IE = 0;
	bcf	(148)^080h,1	;volatile
	line	26
	
l7521:	
;SPI.c: 26: SSP2CON1bits.SSPM = 0b0001;
	movlb 4	; select bank4
	movf	(541)^0200h,w	;volatile
	andlw	not (((1<<4)-1)<<0)
	iorlw	(01h & ((1<<4)-1))<<0
	movwf	(541)^0200h	;volatile
	line	28
;SPI.c: 28: SSP2CON1bits.CKP = (ckp & 0x01);
	movf	(Init_SPI@ckp),w
	andlw	01h
	movwf	(??_Init_SPI+0)+0
	swapf	(??_Init_SPI+0)+0,f
	movf	(541)^0200h,w	;volatile
	xorwf	(??_Init_SPI+0)+0,w
	andlw	not (((1<<1)-1)<<4)
	xorwf	(??_Init_SPI+0)+0,w
	movwf	(541)^0200h	;volatile
	line	29
;SPI.c: 29: SSP2STATbits.CKE = (cke & 0x01);
	movf	(Init_SPI@cke),w
	andlw	01h
	movwf	(??_Init_SPI+0)+0
	swapf	(??_Init_SPI+0)+0,f
	rlf	(??_Init_SPI+0)+0,f
	rlf	(??_Init_SPI+0)+0,f
	movf	(540)^0200h,w	;volatile
	xorwf	(??_Init_SPI+0)+0,w
	andlw	not (((1<<1)-1)<<6)
	xorwf	(??_Init_SPI+0)+0,w
	movwf	(540)^0200h	;volatile
	line	31
	
l7523:	
;SPI.c: 31: SSP2STATbits.SMP = 0;
	bcf	(540)^0200h,7	;volatile
	line	32
	
l7525:	
;SPI.c: 32: SSP2CON1bits.SSPEN = 1;
	bsf	(541)^0200h,5	;volatile
	line	34
	
l5870:	
	return
	opt stack 0
GLOBAL	__end_of_Init_SPI
	__end_of_Init_SPI:
;; =============== function _Init_SPI ends ============

	signat	_Init_SPI,8312
	global	_DAC
psect	text460,local,class=CODE,delta=2
global __ptext460
__ptext460:

;; *************** function _DAC *****************
;; Defined at:
;;		line 103 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\Inicial.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, status,2, status,0
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         0       0       0       0       0       0
;;      Locals:         0       0       0       0       0       0
;;      Temps:          0       0       0       0       0       0
;;      Totals:         0       0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Inicializacion
;; This function uses a non-reentrant model
;;
psect	text460
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\Inicial.c"
	line	103
	global	__size_of_DAC
	__size_of_DAC	equ	__end_of_DAC-_DAC
	
_DAC:	
	opt	stack 14
; Regs used in _DAC: [wreg+status,2+status,0]
	line	104
	
l7511:	
;Inicial.c: 104: DACCON0bits.DACPSS = 0b01;
	movlb 2	; select bank2
	movf	(280)^0100h,w	;volatile
	andlw	not (((1<<2)-1)<<2)
	iorlw	(01h & ((1<<2)-1))<<2
	movwf	(280)^0100h	;volatile
	line	105
	
l7513:	
;Inicial.c: 105: DACCON0bits.DACEN = 1;
	bsf	(280)^0100h,7	;volatile
	line	106
	
l7515:	
;Inicial.c: 106: DACCON0bits.DACOE = 1;
	bsf	(280)^0100h,5	;volatile
	line	107
	
l7517:	
;Inicial.c: 107: DACCON0bits.DACLPS = 1;
	bsf	(280)^0100h,6	;volatile
	line	108
;Inicial.c: 108: DACCON1bits.DACR = 0b10000;
	movf	(281)^0100h,w	;volatile
	andlw	not (((1<<5)-1)<<0)
	iorlw	(010h & ((1<<5)-1))<<0
	movwf	(281)^0100h	;volatile
	line	109
	
l2937:	
	return
	opt stack 0
GLOBAL	__end_of_DAC
	__end_of_DAC:
;; =============== function _DAC ends ============

	signat	_DAC,88
	global	_SelectReenganches
psect	text461,local,class=CODE,delta=2
global __ptext461
__ptext461:

;; *************** function _SelectReenganches *****************
;; Defined at:
;;		line 84 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\Inicial.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;  posicion        2    8[COMMON] int 
;;  a1              2    6[COMMON] int 
;;  a0              2    4[COMMON] int 
;; Return value:  Size  Location     Type
;;                  2    0[COMMON] int 
;; Registers used:
;;		wreg, status,2, status,0
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         2       0       0       0       0       0
;;      Locals:         6       0       0       0       0       0
;;      Temps:          2       0       0       0       0       0
;;      Totals:        10       0       0       0       0       0
;;Total ram usage:       10 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Inicializacion
;; This function uses a non-reentrant model
;;
psect	text461
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\Inicial.c"
	line	84
	global	__size_of_SelectReenganches
	__size_of_SelectReenganches	equ	__end_of_SelectReenganches-_SelectReenganches
	
_SelectReenganches:	
	opt	stack 14
; Regs used in _SelectReenganches: [wreg+status,2+status,0]
	line	85
	
l7499:	
;Inicial.c: 85: int posicion = 0;
	clrf	(SelectReenganches@posicion)
	clrf	(SelectReenganches@posicion+1)
	line	86
	
l7501:	
;Inicial.c: 86: int a0 = RA3;
	clrc
	movlb 0	; select bank0
	btfsc	(99/8),(99)&7
	setc
	movlw	0
	addwfc	wreg,w
	movwf	(??_SelectReenganches+0)+0
	clrf	(??_SelectReenganches+0)+0+1
	movf	0+(??_SelectReenganches+0)+0,w
	movwf	(SelectReenganches@a0)
	movf	1+(??_SelectReenganches+0)+0,w
	movwf	(SelectReenganches@a0+1)
	line	87
	
l7503:	
;Inicial.c: 87: int a1 = RA4<<1;
	clrc
	btfsc	(100/8),(100)&7
	setc
	movlw	0
	addwfc	wreg,w
	movwf	(??_SelectReenganches+0)+0
	clrf	(??_SelectReenganches+0)+0+1
	movlw	01h
u2675:
	lslf	(??_SelectReenganches+0)+0,f
	rlf	(??_SelectReenganches+0)+1,f
	decfsz	wreg,f
	goto	u2675
	movf	0+(??_SelectReenganches+0)+0,w
	movwf	(SelectReenganches@a1)
	movf	1+(??_SelectReenganches+0)+0,w
	movwf	(SelectReenganches@a1+1)
	line	89
	
l7505:	
;Inicial.c: 89: posicion = a0 + a1 + 1;
	movf	(SelectReenganches@a1),w
	addwf	(SelectReenganches@a0),w
	movwf	(??_SelectReenganches+0)+0
	movf	(SelectReenganches@a1+1),w
	addwfc	(SelectReenganches@a0+1),w
	movwf	1+(??_SelectReenganches+0)+0
	movf	0+(??_SelectReenganches+0)+0,w
	addlw	low(01h)
	movwf	(SelectReenganches@posicion)
	movlw	high(01h)
	addwfc	1+(??_SelectReenganches+0)+0,w
	movwf	1+(SelectReenganches@posicion)
	line	91
	
l7507:	
;Inicial.c: 91: return posicion;
	movf	(SelectReenganches@posicion+1),w
	clrf	(?_SelectReenganches+1)
	addwf	(?_SelectReenganches+1)
	movf	(SelectReenganches@posicion),w
	clrf	(?_SelectReenganches)
	addwf	(?_SelectReenganches)

	goto	l2934
	
l7509:	
	line	92
	
l2934:	
	return
	opt stack 0
GLOBAL	__end_of_SelectReenganches
	__end_of_SelectReenganches:
;; =============== function _SelectReenganches ends ============

	signat	_SelectReenganches,90
	global	_SelectIntensidad
psect	text462,local,class=CODE,delta=2
global __ptext462
__ptext462:

;; *************** function _SelectIntensidad *****************
;; Defined at:
;;		line 64 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\Inicial.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;  posicion        2    8[BANK0 ] int 
;;  b3              2    6[BANK0 ] int 
;;  b2              2    4[BANK0 ] int 
;;  b1              2    2[BANK0 ] int 
;;  b0              2    0[BANK0 ] int 
;; Return value:  Size  Location     Type
;;                  2    0[COMMON] int 
;; Registers used:
;;		wreg, status,2, status,0
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         2       0       0       0       0       0
;;      Locals:         0      10       0       0       0       0
;;      Temps:          4       0       0       0       0       0
;;      Totals:         6      10       0       0       0       0
;;Total ram usage:       16 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Inicializacion
;; This function uses a non-reentrant model
;;
psect	text462
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\Inicial.c"
	line	64
	global	__size_of_SelectIntensidad
	__size_of_SelectIntensidad	equ	__end_of_SelectIntensidad-_SelectIntensidad
	
_SelectIntensidad:	
	opt	stack 14
; Regs used in _SelectIntensidad: [wreg+status,2+status,0]
	line	65
	
l7483:	
;Inicial.c: 65: int posicion = 0;
	movlb 0	; select bank0
	clrf	(SelectIntensidad@posicion)
	clrf	(SelectIntensidad@posicion+1)
	line	66
	
l7485:	
;Inicial.c: 66: int b0 = RB0;
	clrc
	btfsc	(104/8),(104)&7
	setc
	movlw	0
	addwfc	wreg,w
	movwf	(??_SelectIntensidad+0)+0
	clrf	(??_SelectIntensidad+0)+0+1
	movf	0+(??_SelectIntensidad+0)+0,w
	movwf	(SelectIntensidad@b0)
	movf	1+(??_SelectIntensidad+0)+0,w
	movwf	(SelectIntensidad@b0+1)
	line	67
	
l7487:	
;Inicial.c: 67: int b1 = RB1<<1;
	clrc
	btfsc	(105/8),(105)&7
	setc
	movlw	0
	addwfc	wreg,w
	movwf	(??_SelectIntensidad+0)+0
	clrf	(??_SelectIntensidad+0)+0+1
	movlw	01h
u2645:
	lslf	(??_SelectIntensidad+0)+0,f
	rlf	(??_SelectIntensidad+0)+1,f
	decfsz	wreg,f
	goto	u2645
	movf	0+(??_SelectIntensidad+0)+0,w
	movwf	(SelectIntensidad@b1)
	movf	1+(??_SelectIntensidad+0)+0,w
	movwf	(SelectIntensidad@b1+1)
	line	68
	
l7489:	
;Inicial.c: 68: int b2 = RB2<<2;
	clrc
	btfsc	(106/8),(106)&7
	setc
	movlw	0
	addwfc	wreg,w
	movwf	(??_SelectIntensidad+0)+0
	clrf	(??_SelectIntensidad+0)+0+1
	movlw	02h
u2655:
	lslf	(??_SelectIntensidad+0)+0,f
	rlf	(??_SelectIntensidad+0)+1,f
	decfsz	wreg,f
	goto	u2655
	movf	0+(??_SelectIntensidad+0)+0,w
	movwf	(SelectIntensidad@b2)
	movf	1+(??_SelectIntensidad+0)+0,w
	movwf	(SelectIntensidad@b2+1)
	line	69
	
l7491:	
;Inicial.c: 69: int b3 = RB3<<3;
	clrc
	btfsc	(107/8),(107)&7
	setc
	movlw	0
	addwfc	wreg,w
	movwf	(??_SelectIntensidad+0)+0
	clrf	(??_SelectIntensidad+0)+0+1
	movlw	03h
u2665:
	lslf	(??_SelectIntensidad+0)+0,f
	rlf	(??_SelectIntensidad+0)+1,f
	decfsz	wreg,f
	goto	u2665
	movf	0+(??_SelectIntensidad+0)+0,w
	movwf	(SelectIntensidad@b3)
	movf	1+(??_SelectIntensidad+0)+0,w
	movwf	(SelectIntensidad@b3+1)
	line	71
	
l7493:	
;Inicial.c: 71: posicion = b0 + b1 + b2 + b3;
	movf	(SelectIntensidad@b1),w
	addwf	(SelectIntensidad@b0),w
	movwf	(??_SelectIntensidad+0)+0
	movf	(SelectIntensidad@b1+1),w
	addwfc	(SelectIntensidad@b0+1),w
	movwf	1+(??_SelectIntensidad+0)+0
	movf	(SelectIntensidad@b2),w
	addwf	0+(??_SelectIntensidad+0)+0,w
	movwf	(??_SelectIntensidad+2)+0
	movf	(SelectIntensidad@b2+1),w
	addwfc	1+(??_SelectIntensidad+0)+0,w
	movwf	1+(??_SelectIntensidad+2)+0
	movf	(SelectIntensidad@b3),w
	addwf	0+(??_SelectIntensidad+2)+0,w
	movwf	(SelectIntensidad@posicion)
	movf	(SelectIntensidad@b3+1),w
	addwfc	1+(??_SelectIntensidad+2)+0,w
	movwf	1+(SelectIntensidad@posicion)
	line	73
	
l7495:	
;Inicial.c: 73: return posicion;
	movf	(SelectIntensidad@posicion+1),w
	clrf	(?_SelectIntensidad+1)
	addwf	(?_SelectIntensidad+1)
	movf	(SelectIntensidad@posicion),w
	clrf	(?_SelectIntensidad)
	addwf	(?_SelectIntensidad)

	goto	l2931
	
l7497:	
	line	74
	
l2931:	
	return
	opt stack 0
GLOBAL	__end_of_SelectIntensidad
	__end_of_SelectIntensidad:
;; =============== function _SelectIntensidad ends ============

	signat	_SelectIntensidad,90
	global	_Init_FVR
psect	text463,local,class=CODE,delta=2
global __ptext463
__ptext463:

;; *************** function _Init_FVR *****************
;; Defined at:
;;		line 48 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\Inicial.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, status,2, status,0
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         0       0       0       0       0       0
;;      Locals:         0       0       0       0       0       0
;;      Temps:          0       0       0       0       0       0
;;      Totals:         0       0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Inicializacion
;; This function uses a non-reentrant model
;;
psect	text463
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\Inicial.c"
	line	48
	global	__size_of_Init_FVR
	__size_of_Init_FVR	equ	__end_of_Init_FVR-_Init_FVR
	
_Init_FVR:	
	opt	stack 14
; Regs used in _Init_FVR: [wreg+status,2+status,0]
	line	49
	
l7479:	
;Inicial.c: 49: FVRCONbits.CDAFVR = 0b01;
	movlb 2	; select bank2
	movf	(279)^0100h,w	;volatile
	andlw	not (((1<<2)-1)<<2)
	iorlw	(01h & ((1<<2)-1))<<2
	movwf	(279)^0100h	;volatile
	line	50
;Inicial.c: 50: FVRCONbits.ADFVR = 0b01;
	movf	(279)^0100h,w	;volatile
	andlw	not (((1<<2)-1)<<0)
	iorlw	(01h & ((1<<2)-1))<<0
	movwf	(279)^0100h	;volatile
	line	51
	
l7481:	
;Inicial.c: 51: FVRCONbits.FVREN = 1;
	bsf	(279)^0100h,7	;volatile
	line	53
	
l2928:	
	return
	opt stack 0
GLOBAL	__end_of_Init_FVR
	__end_of_Init_FVR:
;; =============== function _Init_FVR ends ============

	signat	_Init_FVR,88
	global	_Init_IO
psect	text464,local,class=CODE,delta=2
global __ptext464
__ptext464:

;; *************** function _Init_IO *****************
;; Defined at:
;;		line 29 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\Inicial.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, status,2
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         0       0       0       0       0       0
;;      Locals:         0       0       0       0       0       0
;;      Temps:          0       0       0       0       0       0
;;      Totals:         0       0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Inicializacion
;; This function uses a non-reentrant model
;;
psect	text464
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\Inicial.c"
	line	29
	global	__size_of_Init_IO
	__size_of_Init_IO	equ	__end_of_Init_IO-_Init_IO
	
_Init_IO:	
	opt	stack 14
; Regs used in _Init_IO: [wreg+status,2]
	line	30
	
l7469:	
;Inicial.c: 30: TRISA = 0b00111010;
	movlw	(03Ah)
	movlb 1	; select bank1
	movwf	(140)^080h	;volatile
	line	31
;Inicial.c: 31: TRISB = 0b00001111;
	movlw	(0Fh)
	movwf	(141)^080h	;volatile
	line	33
	
l7471:	
;Inicial.c: 33: ANSELB = 0b00000;
	movlb 3	; select bank3
	clrf	(397)^0180h	;volatile
	line	34
	
l7473:	
;Inicial.c: 34: ANSA3 = 0;
	bcf	(3171/8)^0180h,(3171)&7
	line	35
	
l7475:	
;Inicial.c: 35: ANSA4 = 0;
	bcf	(3172/8)^0180h,(3172)&7
	line	37
	
l7477:	
;Inicial.c: 37: LATA7 = 0;
	movlb 2	; select bank2
	bcf	(2151/8)^0100h,(2151)&7
	line	38
	
l2925:	
	return
	opt stack 0
GLOBAL	__end_of_Init_IO
	__end_of_Init_IO:
;; =============== function _Init_IO ends ============

	signat	_Init_IO,88
	global	_Init_Config
psect	text465,local,class=CODE,delta=2
global __ptext465
__ptext465:

;; *************** function _Init_Config *****************
;; Defined at:
;;		line 14 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\Inicial.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, status,2, status,0
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         0       0       0       0       0       0
;;      Locals:         0       0       0       0       0       0
;;      Temps:          0       0       0       0       0       0
;;      Totals:         0       0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Inicializacion
;; This function uses a non-reentrant model
;;
psect	text465
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\Inicial.c"
	line	14
	global	__size_of_Init_Config
	__size_of_Init_Config	equ	__end_of_Init_Config-_Init_Config
	
_Init_Config:	
	opt	stack 14
; Regs used in _Init_Config: [wreg+status,2+status,0]
	line	15
	
l7467:	
;Inicial.c: 15: OSCCONbits.SCS = 0b00;
	movlw	((0 & ((1<<2)-1))<<0)|not (((1<<2)-1)<<0)
	movlb 1	; select bank1
	andwf	(153)^080h,f	;volatile
	line	16
;Inicial.c: 16: OSCCONbits.IRCF = 0b0111;
	movf	(153)^080h,w	;volatile
	andlw	not (((1<<4)-1)<<3)
	iorlw	(07h & ((1<<4)-1))<<3
	movwf	(153)^080h	;volatile
	line	17
;Inicial.c: 17: WDTCONbits.WDTPS = 0b00000;
	movlw	((0 & ((1<<5)-1))<<1)|not (((1<<5)-1)<<1)
	andwf	(151)^080h,f	;volatile
	line	18
	
l2922:	
	return
	opt stack 0
GLOBAL	__end_of_Init_Config
	__end_of_Init_Config:
;; =============== function _Init_Config ends ============

	signat	_Init_Config,88
	global	_Valor4
psect	text466,local,class=CODE,delta=2
global __ptext466
__ptext466:

;; *************** function _Valor4 *****************
;; Defined at:
;;		line 132 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
;; Parameters:    Size  Location     Type
;;  result          2    0[COMMON] int 
;; Auto vars:     Size  Location     Type
;;  i               2    6[COMMON] int 
;;  suma            2    4[COMMON] int 
;; Return value:  Size  Location     Type
;;                  2    0[COMMON] int 
;; Registers used:
;;		wreg, fsr1l, fsr1h, status,2, status,0, btemp+1
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         2       0       0       0       0       0
;;      Locals:         4       0       0       0       0       0
;;      Temps:          2       0       0       0       0       0
;;      Totals:         8       0       0       0       0       0
;;Total ram usage:        8 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_GestionADC
;; This function uses a non-reentrant model
;;
psect	text466
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
	line	132
	global	__size_of_Valor4
	__size_of_Valor4	equ	__end_of_Valor4-_Valor4
	
_Valor4:	
	opt	stack 14
; Regs used in _Valor4: [wreg+fsr1l-status,0+btemp+1]
	line	133
	
l7421:	
;ADC.c: 133: int suma = 0;
	clrf	(Valor4@suma)
	clrf	(Valor4@suma+1)
	line	134
	
l7423:	
;ADC.c: 134: t[j] = result;
	movlb 0	; select bank0
	movf	(_j),w
	addwf	wreg,w
	addlw	_t&0ffh
	movwf	fsr1l
	clrf fsr1h	
	
	movf	(Valor4@result),w
	movwi	[0]fsr1
	movf	(Valor4@result+1),w
	movwi	[1]fsr1
	line	135
	
l7425:	
;ADC.c: 135: j++;
	movlw	low(01h)
	addwf	(_j),f
	movlw	high(01h)
	addwfc	(_j+1),f
	line	136
	
l7427:	
;ADC.c: 136: if(j == 3){
	movlw	03h
	xorwf	(_j),w
	iorwf	(_j+1),w
	skipz
	goto	u2571
	goto	u2570
u2571:
	goto	l7431
u2570:
	line	137
	
l7429:	
;ADC.c: 137: j = 0;
	clrf	(_j)
	clrf	(_j+1)
	line	138
;ADC.c: 138: j_seg = 0;
	clrf	(_j_seg)
	clrf	(_j_seg+1)
	goto	l7431
	line	139
	
l1474:	
	line	140
	
l7431:	
;ADC.c: 139: }
;ADC.c: 140: for (int i = -1; i < 4; i++)
	movlw	low(-1)
	movwf	(Valor4@i)
	movlw	high(-1)
	movwf	((Valor4@i))+1
	
l7433:	
	movf	(Valor4@i+1),w
	xorlw	80h
	movwf	btemp+1
	movlw	(high(04h))^80h
	subwf	btemp+1,w
	skipz
	goto	u2585
	movlw	low(04h)
	subwf	(Valor4@i),w
u2585:

	skipc
	goto	u2581
	goto	u2580
u2581:
	goto	l7437
u2580:
	goto	l7443
	
l7435:	
	goto	l7443
	line	141
	
l1475:	
	line	142
	
l7437:	
;ADC.c: 141: {
;ADC.c: 142: suma += s[i];
	movf	(Valor4@i),w
	addwf	wreg,w
	addlw	_s&0ffh
	movwf	fsr1l
	clrf fsr1h	
	
	moviw	[0]fsr1
	movwf	(??_Valor4+0)+0
	moviw	[1]fsr1
	movwf	(??_Valor4+0)+0+1
	movf	0+(??_Valor4+0)+0,w
	addwf	(Valor4@suma),f
	movf	1+(??_Valor4+0)+0,w
	addwfc	(Valor4@suma+1),f
	line	140
	
l7439:	
	movlw	low(01h)
	addwf	(Valor4@i),f
	movlw	high(01h)
	addwfc	(Valor4@i+1),f
	
l7441:	
	movf	(Valor4@i+1),w
	xorlw	80h
	movwf	btemp+1
	movlw	(high(04h))^80h
	subwf	btemp+1,w
	skipz
	goto	u2595
	movlw	low(04h)
	subwf	(Valor4@i),w
u2595:

	skipc
	goto	u2591
	goto	u2590
u2591:
	goto	l7437
u2590:
	goto	l7443
	
l1476:	
	line	144
	
l7443:	
;ADC.c: 143: }
;ADC.c: 144: if(j_seg) suma = 530;
	movlb 0	; select bank0
	movf	(_j_seg+1),w
	iorwf	(_j_seg),w
	skipnz
	goto	u2601
	goto	u2600
u2601:
	goto	l7447
u2600:
	
l7445:	
	movlw	low(0212h)
	movwf	(Valor4@suma)
	movlw	high(0212h)
	movwf	((Valor4@suma))+1
	goto	l7449
	line	145
	
l1477:	
	
l7447:	
;ADC.c: 145: else suma = suma >> 2;
	movf	(Valor4@suma+1),w
	movwf	(??_Valor4+0)+0+1
	movf	(Valor4@suma),w
	movwf	(??_Valor4+0)+0
	movlw	02h
	movwf	btemp+1
u2615:
	rlf	(??_Valor4+0)+1,w
	rrf	(??_Valor4+0)+1,f
	rrf	(??_Valor4+0)+0,f
	decfsz	btemp+1,f
	goto	u2615
	movf	0+(??_Valor4+0)+0,w
	movwf	(Valor4@suma)
	movf	1+(??_Valor4+0)+0,w
	movwf	(Valor4@suma+1)
	goto	l7449
	
l1478:	
	line	146
	
l7449:	
;ADC.c: 146: return suma;
	movf	(Valor4@suma+1),w
	clrf	(?_Valor4+1)
	addwf	(?_Valor4+1)
	movf	(Valor4@suma),w
	clrf	(?_Valor4)
	addwf	(?_Valor4)

	goto	l1479
	
l7451:	
	line	147
	
l1479:	
	return
	opt stack 0
GLOBAL	__end_of_Valor4
	__end_of_Valor4:
;; =============== function _Valor4 ends ============

	signat	_Valor4,4218
	global	_GainConversion
psect	text467,local,class=CODE,delta=2
global __ptext467
__ptext467:

;; *************** function _GainConversion *****************
;; Defined at:
;;		line 108 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
;; Parameters:    Size  Location     Type
;;  a               2    0[COMMON] int 
;;  ganancia        2    2[COMMON] int 
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;                  2    0[COMMON] int 
;; Registers used:
;;		wreg
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         4       0       0       0       0       0
;;      Locals:         0       0       0       0       0       0
;;      Temps:          2       0       0       0       0       0
;;      Totals:         6       0       0       0       0       0
;;Total ram usage:        6 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_GestionADC
;; This function uses a non-reentrant model
;;
psect	text467
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
	line	108
	global	__size_of_GainConversion
	__size_of_GainConversion	equ	__end_of_GainConversion-_GainConversion
	
_GainConversion:	
	opt	stack 14
; Regs used in _GainConversion: [wreg]
	line	109
	
l7405:	
;ADC.c: 109: if(ganancia == 2) a = a << 1;
	movlw	02h
	xorwf	(GainConversion@ganancia),w
	iorwf	(GainConversion@ganancia+1),w
	skipz
	goto	u2471
	goto	u2470
u2471:
	goto	l1466
u2470:
	
l7407:	
	movf	(GainConversion@a+1),w
	movwf	(??_GainConversion+0)+0+1
	movf	(GainConversion@a),w
	movwf	(??_GainConversion+0)+0
	movlw	01h
u2485:
	lslf	(??_GainConversion+0)+0,f
	rlf	(??_GainConversion+0)+1,f
	decfsz	wreg,f
	goto	u2485
	movf	0+(??_GainConversion+0)+0,w
	movwf	(GainConversion@a)
	movf	1+(??_GainConversion+0)+0,w
	movwf	(GainConversion@a+1)
	
l1466:	
	line	110
;ADC.c: 110: if(ganancia == 4) a = a << 2;
	movlw	04h
	xorwf	(GainConversion@ganancia),w
	iorwf	(GainConversion@ganancia+1),w
	skipz
	goto	u2491
	goto	u2490
u2491:
	goto	l1467
u2490:
	
l7409:	
	movf	(GainConversion@a+1),w
	movwf	(??_GainConversion+0)+0+1
	movf	(GainConversion@a),w
	movwf	(??_GainConversion+0)+0
	movlw	02h
u2505:
	lslf	(??_GainConversion+0)+0,f
	rlf	(??_GainConversion+0)+1,f
	decfsz	wreg,f
	goto	u2505
	movf	0+(??_GainConversion+0)+0,w
	movwf	(GainConversion@a)
	movf	1+(??_GainConversion+0)+0,w
	movwf	(GainConversion@a+1)
	
l1467:	
	line	111
;ADC.c: 111: if(ganancia == 8) a = a << 3;
	movlw	08h
	xorwf	(GainConversion@ganancia),w
	iorwf	(GainConversion@ganancia+1),w
	skipz
	goto	u2511
	goto	u2510
u2511:
	goto	l1468
u2510:
	
l7411:	
	movf	(GainConversion@a+1),w
	movwf	(??_GainConversion+0)+0+1
	movf	(GainConversion@a),w
	movwf	(??_GainConversion+0)+0
	movlw	03h
u2525:
	lslf	(??_GainConversion+0)+0,f
	rlf	(??_GainConversion+0)+1,f
	decfsz	wreg,f
	goto	u2525
	movf	0+(??_GainConversion+0)+0,w
	movwf	(GainConversion@a)
	movf	1+(??_GainConversion+0)+0,w
	movwf	(GainConversion@a+1)
	
l1468:	
	line	112
;ADC.c: 112: if(ganancia == 16) a = a << 4;
	movlw	010h
	xorwf	(GainConversion@ganancia),w
	iorwf	(GainConversion@ganancia+1),w
	skipz
	goto	u2531
	goto	u2530
u2531:
	goto	l1469
u2530:
	
l7413:	
	movf	(GainConversion@a+1),w
	movwf	(??_GainConversion+0)+0+1
	movf	(GainConversion@a),w
	movwf	(??_GainConversion+0)+0
	movlw	04h
u2545:
	lslf	(??_GainConversion+0)+0,f
	rlf	(??_GainConversion+0)+1,f
	decfsz	wreg,f
	goto	u2545
	movf	0+(??_GainConversion+0)+0,w
	movwf	(GainConversion@a)
	movf	1+(??_GainConversion+0)+0,w
	movwf	(GainConversion@a+1)
	
l1469:	
	line	113
;ADC.c: 113: if(ganancia == 32) a = a << 5;
	movlw	020h
	xorwf	(GainConversion@ganancia),w
	iorwf	(GainConversion@ganancia+1),w
	skipz
	goto	u2551
	goto	u2550
u2551:
	goto	l7417
u2550:
	
l7415:	
	movf	(GainConversion@a+1),w
	movwf	(??_GainConversion+0)+0+1
	movf	(GainConversion@a),w
	movwf	(??_GainConversion+0)+0
	movlw	05h
u2565:
	lslf	(??_GainConversion+0)+0,f
	rlf	(??_GainConversion+0)+1,f
	decfsz	wreg,f
	goto	u2565
	movf	0+(??_GainConversion+0)+0,w
	movwf	(GainConversion@a)
	movf	1+(??_GainConversion+0)+0,w
	movwf	(GainConversion@a+1)
	goto	l7417
	
l1470:	
	line	115
	
l7417:	
;ADC.c: 115: return a;
	goto	l1471
	
l7419:	
	line	116
	
l1471:	
	return
	opt stack 0
GLOBAL	__end_of_GainConversion
	__end_of_GainConversion:
;; =============== function _GainConversion ends ============

	signat	_GainConversion,8314
	global	_ValorAbsoluto
psect	text468,local,class=CODE,delta=2
global __ptext468
__ptext468:

;; *************** function _ValorAbsoluto *****************
;; Defined at:
;;		line 90 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
;; Parameters:    Size  Location     Type
;;  valorADC        2    0[COMMON] int 
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;                  2    0[COMMON] int 
;; Registers used:
;;		wreg, status,2, status,0, btemp+1
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         2       0       0       0       0       0
;;      Locals:         0       0       0       0       0       0
;;      Temps:          2       0       0       0       0       0
;;      Totals:         4       0       0       0       0       0
;;Total ram usage:        4 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_GestionADC
;; This function uses a non-reentrant model
;;
psect	text468
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
	line	90
	global	__size_of_ValorAbsoluto
	__size_of_ValorAbsoluto	equ	__end_of_ValorAbsoluto-_ValorAbsoluto
	
_ValorAbsoluto:	
	opt	stack 14
; Regs used in _ValorAbsoluto: [wreg+status,2+status,0+btemp+1]
	line	91
	
l7397:	
;ADC.c: 91: if(valorADC < 0b1000000000) valorADC = 0b1111111111 - valorADC;
	movf	(ValorAbsoluto@valorADC+1),w
	xorlw	80h
	movwf	btemp+1
	movlw	(high(0200h))^80h
	subwf	btemp+1,w
	skipz
	goto	u2465
	movlw	low(0200h)
	subwf	(ValorAbsoluto@valorADC),w
u2465:

	skipnc
	goto	u2461
	goto	u2460
u2461:
	goto	l7401
u2460:
	
l7399:	
	comf	(ValorAbsoluto@valorADC),w
	movwf	(??_ValorAbsoluto+0)+0
	comf	(ValorAbsoluto@valorADC+1),w
	movwf	((??_ValorAbsoluto+0)+0+1)
	incf	(??_ValorAbsoluto+0)+0,f
	skipnz
	incf	((??_ValorAbsoluto+0)+0+1),f
	movf	0+(??_ValorAbsoluto+0)+0,w
	addlw	low(03FFh)
	movwf	(ValorAbsoluto@valorADC)
	movlw	high(03FFh)
	addwfc	1+(??_ValorAbsoluto+0)+0,w
	movwf	1+(ValorAbsoluto@valorADC)
	goto	l7401
	
l1462:	
	line	92
	
l7401:	
;ADC.c: 92: return valorADC;
	goto	l1463
	
l7403:	
	line	93
	
l1463:	
	return
	opt stack 0
GLOBAL	__end_of_ValorAbsoluto
	__end_of_ValorAbsoluto:
;; =============== function _ValorAbsoluto ends ============

	signat	_ValorAbsoluto,4218
	global	_ADC
psect	text469,local,class=CODE,delta=2
global __ptext469
__ptext469:

;; *************** function _ADC *****************
;; Defined at:
;;		line 35 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;  result          2    2[COMMON] int 
;; Return value:  Size  Location     Type
;;                  2    0[COMMON] int 
;; Registers used:
;;		wreg, status,2, status,0
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         2       0       0       0       0       0
;;      Locals:         2       0       0       0       0       0
;;      Temps:          0       0       0       0       0       0
;;      Totals:         4       0       0       0       0       0
;;Total ram usage:        4 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_GestionADC
;; This function uses a non-reentrant model
;;
psect	text469
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
	line	35
	global	__size_of_ADC
	__size_of_ADC	equ	__end_of_ADC-_ADC
	
_ADC:	
	opt	stack 14
; Regs used in _ADC: [wreg+status,2+status,0]
	line	39
	
l7355:	
;ADC.c: 37: int result;
;ADC.c: 39: GIE = 0;
	bcf	(95/8),(95)&7
	line	40
;ADC.c: 40: ADON=1;
	movlb 1	; select bank1
	bsf	(1256/8)^080h,(1256)&7
	line	41
;ADC.c: 41: ADGO = 1;
	bsf	(1257/8)^080h,(1257)&7
	line	42
;ADC.c: 42: while(ADGO);
	goto	l1448
	
l1449:	
	
l1448:	
	btfsc	(1257/8)^080h,(1257)&7
	goto	u2411
	goto	u2410
u2411:
	goto	l1448
u2410:
	goto	l7357
	
l1450:	
	line	43
	
l7357:	
;ADC.c: 43: result = ADRES;
	movf	(155+1)^080h,w	;volatile
	clrf	(ADC@result+1)	;volatile
	addwf	(ADC@result+1)	;volatile
	movf	(155)^080h,w	;volatile
	clrf	(ADC@result)	;volatile
	addwf	(ADC@result)	;volatile

	line	45
	
l7359:	
;ADC.c: 45: ADON = 0;
	bcf	(1256/8)^080h,(1256)&7
	line	46
;ADC.c: 46: return result;
	movf	(ADC@result+1),w
	clrf	(?_ADC+1)
	addwf	(?_ADC+1)
	movf	(ADC@result),w
	clrf	(?_ADC)
	addwf	(?_ADC)

	goto	l1451
	
l7361:	
	line	47
	
l1451:	
	return
	opt stack 0
GLOBAL	__end_of_ADC
	__end_of_ADC:
;; =============== function _ADC ends ============

	signat	_ADC,90
	global	_Init_ADC
psect	text470,local,class=CODE,delta=2
global __ptext470
__ptext470:

;; *************** function _Init_ADC *****************
;; Defined at:
;;		line 17 in file "D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, status,2, status,0
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 0/0
;;		Unchanged: 0/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK2   BANK3   BANK4
;;      Params:         0       0       0       0       0       0
;;      Locals:         0       0       0       0       0       0
;;      Temps:          0       0       0       0       0       0
;;      Totals:         0       0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Inicializacion
;; This function uses a non-reentrant model
;;
psect	text470
	file	"D:\SVN\Pruebav1.1\seccionador\pruebaint\ADC.c"
	line	17
	global	__size_of_Init_ADC
	__size_of_Init_ADC	equ	__end_of_Init_ADC-_Init_ADC
	
_Init_ADC:	
	opt	stack 14
; Regs used in _Init_ADC: [wreg+status,2+status,0]
	line	18
	
l7349:	
;ADC.c: 18: ADCON0bits.CHS = 0b00001;
	movlb 1	; select bank1
	movf	(157)^080h,w	;volatile
	andlw	not (((1<<5)-1)<<2)
	iorlw	(01h & ((1<<5)-1))<<2
	movwf	(157)^080h	;volatile
	line	19
;ADC.c: 19: ADCON1bits.ADPREF = 0b11;
	movlw	(03h & ((1<<2)-1))<<0
	iorwf	(158)^080h,f	;volatile
	line	20
	
l7351:	
;ADC.c: 20: ADCON1bits.ADNREF = 0;
	bcf	(158)^080h,2	;volatile
	line	21
;ADC.c: 21: ADCON1bits.ADCS = 0b111;
	movlw	(07h & ((1<<3)-1))<<4
	iorwf	(158)^080h,f	;volatile
	line	22
	
l7353:	
;ADC.c: 22: ADCON1bits.ADFM = 1;
	bsf	(158)^080h,7	;volatile
	line	23
	
l1445:	
	return
	opt stack 0
GLOBAL	__end_of_Init_ADC
	__end_of_Init_ADC:
;; =============== function _Init_ADC ends ============

	signat	_Init_ADC,88
psect	text471,local,class=CODE,delta=2
global __ptext471
__ptext471:
	global	btemp
	btemp set 07Eh

	DABS	1,126,2	;btemp
	global	wtemp0
	wtemp0 set btemp
	end
